package com.leyou.gateway.job;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class JobDemo {

    private Integer i = 0;

    /**
     * 固定延迟执行
     * 不会出现任务的积压，侧重于两次任务之间的延迟时间。
     */
//    @Scheduled(fixedDelay = 2000)
//    public void delayDemo(){
//        if (i==1){
//            try {
//                Thread.sleep(3000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//        }
//        log.info("固定延迟定时任务执行了~~~~~~~~~~~~~~~~~~~~~~~~~~");
//        i++;
//    }


    /**
     * 固定频率执行
     * 会出现任务的积压，侧重于一段时间内，执行的次数
     */
//    @Scheduled(fixedRate = 2000)
//    public void rateDemo(){
//        if (i==1){
//            try {
//                Thread.sleep(3000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//        }
//        log.info("固定频率定时任务执行了~~~~~~~~~~~~~~~~~~~~~~~~~~");
//        i++;
//    }


    /**
     * cron表达式执行  每月3号上午10到12点之间每分钟的第十秒执行一次
     */
//    @Scheduled(cron = "10 * 10-12 3 * ?")
//    public void cronDemo(){
//        if (i==1){
//            try {
//                Thread.sleep(3000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//        }
//        log.info("cron表达式定时任务执行了~~~~~~~~~~~~~~~~~~~~~~~~~~");
//        i++;
//    }

}
